﻿#define  _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

//int globalVar = 1;
//static int staticGlobalVar = 1;
//
//void Test()
//{
//	static int staticVar = 1;
//
//	int localVar = 1;
//
//	int num1[10] = { 1, 2, 3, 4 };
//
//	char char2[] = "abcd";
//
//	const char* pChar3 = "abcd";
//
//	int* ptr1 = (int*)malloc(sizeof(int) * 4);
//	int* ptr2 = (int*)calloc(4, sizeof(int));
//	int* ptr3 = (int*)realloc(ptr2, sizeof(int) * 4);
//
//	free(ptr1);
//	free(ptr3);
//}


//globalVar在哪里？____
//staticGlobalVar在哪里？____
//staticVar在哪里？____
//localVar在哪里？____
//num1 在哪里？____
//char2在哪里？____
//* char2在哪里？___
//pChar3在哪里？____
//* pChar3在哪里？____
//ptr1在哪里？____
//* ptr1在哪里？____

//int main()
//{
//	// 动态申请一个int的空间
//	int* ptr1 = new int;
//
//	// 动态申请一个int的空间，并初始化为10
//	int* ptr2 = new int(10);
//
//	// 动态申请10个int的空间，返回首个整型空间的地址
//	int* ptr3 = new int[10];
//
//	// 动态申请10个int的空间，并初始化前5个整型
//	int* ptr4 = new int[10]{ 1,2,3,4,5 };
//
//	delete ptr1;
//	delete ptr2;
//	delete[] ptr3;
//	delete[] ptr4;
//
//
//	return 0;
//}

//class A
//{
//public:
//	A(int a = 0)
//		: _a(a)
//	{
//		cout << "A():" << this << endl;
//	}
//
//	~A()
//	{
//		cout << "~A():" << this << endl;
//	}
//private:
//	int _a;
//};
//
//int main()
//{
//	A* p1 = new A(1);
//	A* p2 = new A[5];
//
//	delete p1;
//	delete[] p2;
//
//	return 0;
//}

//template<typename T>
//void Swap(T& left, T& right)
//{
//	T temp = left;
//	left = right;
//	right = temp;
//}

template<class T>
T fun(T x, T y)
{
	return x * x + y * y;
}

int main()
{
	/*char* p = new char[100];
	delete p;*/

	fun<float>(1.0, 2);
	return 0;
}
